package com.zxy.pojo.vo;


import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;

/**
 * 菜单视图对象（接口返回专用，与前端格式完全对齐）
 */
@Data
public class SysMenuVO {
    /** 菜单ID（对应数据库menu_id） */
    private Long menuId;
    /** 菜单名称（对应数据库menu_name） */
    private String menuName;
    /** 父菜单ID（对应数据库parent_id） */
    private Long parentId;
    /** 父菜单名称（非数据库字段，关联查询得到） */
    private String parentName;
    /** 显示顺序（对应数据库order_num） */
    private String orderNum;
    /** 路由地址（对应数据库path） */
    private String path;
    /** 组件路径（对应数据库component） */
    private String component;
    /** 是否为外链（对应数据库is_frame，0=是，1=否） */
    private String isFrame;
    /** 是否缓存（对应数据库is_cache，0=缓存，1=不缓存） */
    private String isCache;
    /** 菜单类型（对应数据库menu_type，M=目录，C=菜单，F=按钮） */
    private String menuType;
    /** 菜单状态（对应数据库visible，0=显示，1=隐藏） */
    private String visible;
    /** 菜单状态（对应数据库status，0=正常，1=停用） */
    private String status;
    /** 权限标识（对应数据库perms） */
    private String perms;
    /** 菜单图标（对应数据库icon） */
    private String icon;
    /** 创建者（对应数据库create_by） */
    private String createBy;
    /** 创建时间（对应数据库create_time） */
    private Date createTime;
    /** 更新者（对应数据库update_by） */
    private String updateBy;
    /** 更新时间（对应数据库update_time） */
    private Date updateTime;
    /** 子菜单列表（树形结构需要，默认空列表避免null） */
    private List<SysMenuVO> children = new ArrayList<>();
}
